The ability to automatically match data records to make electronic transactions is important in today's business world. For example, the New York Stock Exchange (NYSE) and the National Association of Securities Dealers Automated Quotations (NASDAQ) rely on computer systems to automatically match a buyer's “bid” and a seller's “ask” in order to make automatic, real-time transactions. These and other electronic equity exchange platforms have demonstrated the efficiencies that can be acquired through the use of an electronic exchange marketplace that automatically matches the needs of buyers with available market supply in a constantly changing marketplace.
The automatic matching of a buyer's “bid” and a seller's “ask” in the equities market is conceptually simple. By searching through all the orders for a particular stock, it is a matter of finding a bid price that matches an ask price, then ensuring that the number of shares is sufficient to meet the needs of both parties. The deal is consummated and automatically executed.
For most goods and services, however, the “dimensionality” of the buy-sell match problem is much larger—and more complex. A stock has three dimensions—symbol, order size, and price. Orders can be matched knowing only these three pieces of information. For most goods and services, however, more than three dimensions are required to identify the product for a potential buyer or seller. For example, if a person wants to buy a car, he or she needs to know the make, model, year, mileage, transmission-type, options, color and so forth. As each additional dimension is added, the complexity of the trading platform greatly increases. Accordingly, conventional trading platforms are simply not capable of scaling as the number of tradable objects grows exponentially with the number of added dimensions, leading to long response times for the market participants and an inability to process a large number of orders within an acceptable amount of time.
The assignee of the present invention has developed a system that solves the dimensionality problem, as is disclosed in co-pending application U.S. patent application Ser. No. 09/737,595, which is hereby incorporated in its entirety by reference.
In the disclosed system, objects having multiple dimensions are automatically bought and sold over an electronic network. Orders to buy or sell a multi-dimensional object are received by the system. Upon receipt of an order, the system looks for orders already pending in the system that match the order just received. For example, if a sell order is received, the system queries the pending buy orders to find pending buy orders that match the received sell order. Once a received order is matched with a pending order, the system automatically executes the transaction and completes the trade. If the received order is not matched, it is placed in the list of pending orders for future matching.
The disclosed system provides a method for matching orders for multi-dimensional objects by using the received order to define a subset of the market space of pending orders. This subset is the Cartesian product of one-dimensional regions as defined by the received order. Pending orders falling within this subset of the market space are orders containing objects whose dimensions match the parameters defined by the received order.
The disclosed system efficiently and quickly matches complex, multi-dimensional orders thereby facilitating automatic electronic transactions in an electronic marketplace. However, this system can also be used in applications other than an electronic trading platform. The disclosed matching system can be used to query complex records of any type, and can be used in many different types of applications and in many different industries, wherever queries of complex multi-dimensional data are needed. That is, it is not necessary for an electronic transaction to be executed as a result of querying using the disclosed matching system.
As is disclosed in the co-pending application at Page 41, lines 1-9, the disclosed system provides the capability of finding optimal and approximate near-matches. In the context of an electronic trading platform, this near-matching capability provides users with the ability to assess the marketability of orders.
The ability to provide approximate near-matches is important in other contexts as, in addition to the data complexity problem, data is rarely completely perfect. However, it is not enough that an approximate near-match be found—in order to provide maximum usefulness, it should be possible to precisely measure the closeness of the approximate match. For example, in the context of a trading platform, automatic execution of a transaction of a received order and a pending order that does not match the criteria defined by the received order does not make sense. However, if it could be determined that the pending order is close enough to meet specific criteria, it would be advantageous to flag the pending order for further automatic or manual processing to potentially enable a greater number of transactions.
The ability to find and prioritize close matches has many applications outside the arena of electronic marketplaces. For instance, Accounts Payable processing is historically laborious and time-consuming due to the frequent inability to automatically match a company's purchase orders with vendors' invoices. This is due to vendors using different invoice formats, partial shipment invoices, price changes between order and shipment, different interpretations of applicability of discounts, and invoices that refer to multiple purchase orders as well as data entry errors and missing data in vendors' invoices. These types of procedural differences and entry errors create significant exception processing costs. When an invoice cannot be automatically matched with an existing purchase order (PO), the appropriate PO, or multiple POs, that match the invoice must be manually identified and processed. This can involve multiple ad-hoc database queries as an operator applies human intelligence to the detective work of finding potentially matching POs using data from the invoice as clues. Because this process is time-consuming and therefore expensive, the ability to assist the operator by finding POs that closely match the invoice along a variety of dimensions would be very advantageous.
As another example, investment managers and other institutions involved in securities trading have a need to reconcile their own records with those of other counterparties to a trade (such as the execution agent, broker dealer, custodian, etc.) as manifested by messages from those counterparties describing the trade from their own viewpoint. Frequently, errors in transcription or differences in interpretation of a phone conversation lead to discrepancies between the view of an institution and its counterparties. As in the case of PO processing, these discrepancies must typically be manually resolved through ad-hoc database searches. A precisely-controllable approximate matching system would allow many of these discrepancies to be resolved either automatically, or through a facilitated manual process.
As another example, it is difficult to trade municipal bonds online as municipal bonds are brokered through multiple distribution channels prior to reaching retail customers. In addition, the large variety of characteristics or dimensions (such as maturity date, yield, state of issue, etc.) and the large number of available bond issues make finding an appropriate bond for a specific investor a complex task. The ability to match investors' requirements against a collection of available bonds would therefore allow the distribution chain to be streamlined to the advantage of both the issuer and buyer of the bonds. Since, given the complexity of the criteria for specifying a bond, no bond may exactly match the requirements of a particular buyer, the ability to find available bonds that most closely fit the buyer's needs would be very advantageous. Moreover, since the relative importance of different criteria are different for different investors, the ability to precisely control the query such that the most appropriate bonds for that buyer are found in the approximate match process would also be advantageous.
Yet another application area for the present invention is healthcare reconciliation. Records or data generated by a provider of health services, such as a doctor's office or hospital, and by the patient's insurance company must be reconciled with the benefits information associated with the patient. Names may not match exactly, as the patient may not be the insured, but rather an immediate family member of the insured. The amounts are typically different as the insurance company has its pre-determined amount allowed for a procedure, while the provider bills its typical amount. Complex formulas for deductibles may also be involved. It would be advantageous to have a record matching process that could automate the reconciliation task or enhance the productivity of human operators.
In view of the foregoing, it can be appreciated that a substantial need exists for a method and system that can provide real-time, precisely customize controllable approximate matching of imperfect, complex data.